home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / gui / controls.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  4KB  |  104 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. import wx
  5.  
  6. def Button(parent, text, callback, **kwargs):
  7.     button = wx.Button(parent, -1, _(text), **kwargs)
  8.     button.Bind((wx.EVT_BUTTON,), (lambda : callback()))
  9.     return button
  10.  
  11.  
  12. def Text(parent, text, *args, **kwargs):
  13.     return wx.StaticText(parent, -1, text, *args, **kwargs)
  14.  
  15.  
  16. def CheckBox(parent, text, value = sentinel, **kwargs):
  17.     checkbox = wx.CheckBox(parent, -1, _(text), **kwargs)
  18.     if value is not sentinel:
  19.         checkbox.Value = value
  20.     
  21.     return checkbox
  22.  
  23.  
  24. def TextInput(parent, value = sentinel, *args, **kwargs):
  25.     textctrl = wx.TextCtrl(parent, -1, *args, **kwargs)
  26.     if value is not sentinel:
  27.         textctrl.Value = value
  28.     
  29.     return textctrl
  30.  
  31.  
  32. def BoxSizer(type, *elems, **opts):
  33.     s = wx.BoxSizer({
  34.         'H': wx.HORIZONTAL,
  35.         'V': wx.VERTICAL }[type])
  36.     border = opts.get('border', 6)
  37.     return add_all(elems, s, border)
  38.  
  39.  
  40. def add_all(elems, s, border):
  41.     for elem in elems:
  42.         if elem == 'stretch':
  43.             s.AddStretchSpacer()
  44.             continue
  45.         s.Add(elem, 0, wx.ALL | wx.EXPAND, border)
  46.     
  47.     return s
  48.  
  49.  
  50. def HSizer(*elems, **opts):
  51.     return BoxSizer('H', *elems, **opts)
  52.  
  53.  
  54. def VSizer(*elems, **opts):
  55.     return BoxSizer('V', *elems, **opts)
  56.  
  57.  
  58. def FGridSizer(rows, cols, *elems, **opts):
  59.     s = wx.FlexGridSizer(rows, cols, vgap = opts.get('vgap', 0), hgap = opts.get('hgap', 0))
  60.     border = opts.get('border', 6)
  61.     add_all(elems, s, border)
  62.     return s
  63.  
  64.  
  65. class CustomControls(object):
  66.     
  67.     def __init__(self, parent):
  68.         self.parent = parent
  69.  
  70.     
  71.     class _TextInput(wx.TextCtrl):
  72.         
  73.         def __init__(self, controls, parent, value = sentinel, get_ = None, set_ = None, *args, **kwargs):
  74.             self.controls = controls
  75.             self.get_ = get_
  76.             self.set_ = set_
  77.             wx.TextCtrl.__init__(self, parent, -1, *args, **kwargs)
  78.  
  79.         
  80.         def GetValue(self):
  81.             return None if self.get_ is not None else wx.TextCtrl.GetValue(self)
  82.  
  83.         
  84.         def SetValue(self, x):
  85.             return None if self.set_ is not None else wx.TextCtrl.SetValue(self, x)
  86.  
  87.         Value = property(GetValue, SetValue)
  88.  
  89.     
  90.     def TextInput(self, *a, **k):
  91.         return self._TextInput(self, parent = self.parent, *a, **k)
  92.  
  93.     
  94.     def LabeledTextInput(self, label, *a, **k):
  95.         label_ = Text(self.parent, label)
  96.         text = self.TextInput(*a, **k)
  97.         return (label_, text)
  98.  
  99.     
  100.     def intBox(self, *a, **k):
  101.         return self.TextInput(get_ = int, set_ = str)
  102.  
  103.  
  104.